package com.holly.unit.deform.designer.enums;

import java.util.Objects;
import java.util.stream.Stream;

/**
 * 类描述: 基础字段枚举类
 *
 * @author fxr
 * @version 1.0.0
 * @date 2022/8/4 11:05
 */
public enum  BasicElementEnum {

    /** 单行文本 */
    INPUT("input"),

    /** 多行文本 */
    TEXTAREA("textarea"),

    /** 计数器 */
    NUMBER("number"),

    /** 单选框组 */
    RADIO("radio"),

    /** 多选框组 */
    CHECKBOX("checkbox"),

    /** 下拉选择框 */
    SELECT("select"),

    /** 时间选择器 */
    TIME("time"),

    /** 日期选择器 */
    DATE("date"),

    /** 评分 */
    RATE("rate"),

    /** 颜色选择器 */
    COLOR("color"),

    /** 开关 */
    SWITCH("switch"),

    /** 滑块 */
    SLIDER("slider"),

    /** 文字*/
    TEXT("text"),

    /**html*/
    HTML("html"),

    /** 按钮*/
    BUTTON("button"),

    /**文字链接*/
    LINK("link"),

    /**级联选择器*/
    CASCADER("cascader"),

    /** 树选择*/
    TREESELECT("treeselect"),

    /** 步骤条*/
    STEPS("steps"),

    /** 穿梭框*/
    TRANSFER("transfer"),

    /** 分页*/
    PAGINATION("pagination");

    String fieldName;

    BasicElementEnum(String fieldName) {
        this.fieldName = fieldName;
    }

    public String fieldName() {
        return this.fieldName;
    }

    public static BasicElementEnum of(String fieldName) {
        return Stream.of(BasicElementEnum.values())
                .filter(clazz -> Objects.equals(clazz.fieldName(), fieldName))
                .findFirst()
                .orElse(INPUT);
    }









}
